【例子介绍】Java Web开发详解:XML DTD XML Schema XSLT Servlet3.0 JSP2.2深入剖析与实例应用/孙鑫编著源码
在知识的讲解上,《Java Web开发详解——XML DTD XML Schema XSLT Servlet3.0 JSP2.2深入剖析与实例应用》采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书...
【相关图片】
【源码结构】
文件清单
└── Code
├── AppendixA
│ ├── content.html
│ ├── FirstPage.html
│ ├── form.html
│ ├── frameset.html
│ ├── link.html
│ ├── list1.html
│ ├── list2.html
│ ├── list3.html
│ ├── list4.html
│ ├── list5.html
│ ├── list6.html
│ ├── logo.gif
│ ├── menu.html
│ ├── SecondPage1.html
│ ├── SecondPage2.html
│ ├── SecondPage3.html
│ ├── SecondPage4.html
│ ├── SecondPage5.html
│ ├── SecondPage6.html
│ ├── table.html
│ └── Thumbs.db
├── ch01
│ ├── 例1-1(HelloWorld).html
│ ├── 例1-2(HelloWorld).xml
│ ├── 例1-3(SecondPage5).html
│ ├── 例1-4(SecondPage5).xml
│ ├── 例1-5(java).xml
│ └── 例1-6(javaerr).xml
├── ch02
│ ├── 例2-10(bbs1).xml
│ ├── 例2-11(bbs2).xml
│ ├── 例2-12(bbs3).xml
│ ├── 例2-13(company).xml
│ ├── 例2-14(company2).xml
│ ├── 例2-15(company3).xml
│ ├── 例2-16(library).xml
│ ├── 例2-17(webpage).xml
│ ├── 例2-1(hr1).xml
│ ├── 例2-2(hr2).xml
│ ├── 例2-3(hr3).xml
│ ├── 例2-4(hr4).xml
│ ├── 例2-5(hr5).xml
│ ├── 例2-6(employee).xml
│ ├── 例2-7(website).xml
│ ├── 例2-8(website).dtd
│ ├── 例2-8(website).xml
│ └── 例2-9(website2).xml
├── ch03
│ ├── 例3-10.xml
│ ├── 例3-11.xml
│ ├── 例3-12.xml
│ ├── 例3-1.xml
│ ├── 例3-2.xml
│ ├── 例3-3.xml
│ ├── 例3-4.xml
│ ├── 例3-5.xml
│ ├── 例3-6.xml
│ ├── 例3-7.xml
│ ├── 例3-8.xml
│ └── 例3-9.xml
├── ch04
│ ├── hr.xsd
│ ├── 例4-14(book).xsd
│ ├── 例4-15(book2).xsd
│ ├── 例4-16(book3).xsd
│ ├── 例4-17(book4).xsd
│ ├── 例4-18(book).xml
│ ├── 例4-19(book5).xsd
│ ├── 例4-1(simple).xsd
│ ├── 例4-20(book2).xml
│ ├── 例4-21(book3).xml
│ ├── 例4-22(book6).xsd
│ ├── 例4-23(book4).xml
│ ├── 例4-24(book7).xsd
│ ├── 例4-25(book8).xsd
│ ├── 例4-26(book5).xml
│ ├── 例4-27(book9).xsd
│ ├── 例4-28(book6).xml
│ ├── 例4-29(book).xsd
│ ├── 例4-2(simple).xml
│ ├── 例4-30(books).xml
│ ├── 例4-31(book7).xml
│ ├── 例4-3(employee).xml
│ ├── 例4-4(employee).dtd
│ ├── 例4-5(employee).xsd
│ └── 例4-7(desk).xml
├── ch05
│ ├── DOMConvert2.java
│ ├── DOMConvert.java
│ ├── DOMPrinter.class
│ ├── DOMPrinter.java
│ ├── DOMStudentsInfo.java
│ ├── DTDPrinter.java
│ ├── entity.dtd
│ ├── ErrorProcessor.java
│ ├── hr.dtd
│ ├── hr.xml
│ ├── names.xml
│ ├── SAXPrinter.java
│ ├── SchemaValidator.java
│ ├── StudentLookup.java
│ ├── students.xml
│ ├── students.xsd
│ ├── TypeInfoPrinter.java
│ ├── 例5-10.xml
│ └── 例5-11.xml
├── ch06
│ ├── JDOMConvert.class
│ ├── JDOMConvert.java
│ └── students.xml
├── ch07
│ ├── Dom4jElementHandler.java
│ ├── Dom4jSchemaValidator.java
│ ├── Dom4jVisitorPrinter.java
│ ├── students.xml
│ └── students.xsd
├── ch08
│ ├── books.xml
│ ├── Dom4jNSPrinter.java
│ ├── DOMNSPrinter.java
│ ├── JDOMNSPrinter.java
│ └── SAXNSPrinter.java
├── ch09
│ ├── SimpleTransformer.java
│ ├── 例9-10.xsl
│ ├── 例9-11.xsl
│ ├── 例9-12.xsl
│ ├── 例9-13.xsl
│ ├── 例9-14.xsl
│ ├── 例9-15.xsl
│ ├── 例9-16.xsl
│ ├── 例9-17.xsl
│ ├── 例9-18(forum).xml
│ ├── 例9-19.xsl
│ ├── 例9-1(welcome).xml
│ ├── 例9-20(book).xml
│ ├── 例9-21(book).xsl
│ ├── 例9-22(book).xsl
│ ├── 例9-23.xsl
│ ├── 例9-24.xsl
│ ├── 例9-25(employees2).xml
│ ├── 例9-26(employees2).xsl
│ ├── 例9-27.xsl
│ ├── 例9-28.xsl
│ ├── 例9-29.xsl
│ ├── 例9-2(welcome).xsl
│ ├── 例9-30.xml
│ ├── 例9-31.xsl
│ ├── 例9-32.xml
│ ├── 例9-33.xsl
│ ├── 例9-34.xml
│ ├── 例9-35.xsl
│ ├── 例9-36.xsl
│ ├── 例9-37.xsl
│ ├── 例9-38.xsl
│ ├── 例9-39(company).xml
│ ├── 例9-3(employees).xml
│ ├── 例9-40(departments).xml
│ ├── 例9-41(company).xsl
│ ├── 例9-4.xsl
│ ├── 例9-5.xsl
│ ├── 例9-6.xsl
│ ├── 例9-7.xsl
│ ├── 例9-8.xsl
│ └── 例9-9.xsl
├── ch10
│ ├── 例10-10(employees2).xsl
│ ├── 例10-11(employees3).xsl
│ ├── 例10-12(order2).xsl
│ ├── 例10-13(order3).xsl
│ ├── 例10-14(multifiles).xsl
│ ├── 例10-15(separator).xsl
│ ├── 例10-16(jsp).xml
│ ├── 例10-17(jsp).xsl
│ ├── 例10-18(function).xsl
│ ├── 例10-1(order).xml
│ ├── 例10-2(order).xsl
│ ├── 例10-3(students).xml
│ ├── 例10-4(students).xsl
│ ├── 例10-5(books).xml
│ ├── 例10-6(books).xsl
│ ├── 例10-7(books2).xsl
│ ├── 例10-8(employees).xsl
│ ├── 例10-9(employees).xml
│ └── 例9-3(employees).xml
├── ch12
│ ├── login.html
│ ├── src
│ │ ├── CounterServlet.java
│ │ ├── HelloWorldServlet.java
│ │ ├── LoginServlet2.java
│ │ ├── LoginServlet.java
│ │ ├── OutputInfoServlet.java
│ │ ├── PortalServlet.java
│ │ └── WelcomeServlet.java
│ ├── success.html
│ ├── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── ch12
│ │ │ └── servlet
│ │ │ ├── CounterServlet.class
│ │ │ ├── HelloWorldServlet.class
│ │ │ ├── LoginServlet2.class
│ │ │ ├── LoginServlet.class
│ │ │ ├── OutputInfoServlet.class
│ │ │ ├── PortalServlet.class
│ │ │ └── WelcomeServlet.class
│ │ └── web.xml
│ └── welcome.html
├── ch13
│ ├── src
│ │ └── WelcomeServlet.java
│ ├── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── ch13
│ │ │ └── servlet
│ │ │ └── WelcomeServlet.class
│ │ └── web.xml
│ ├── welcome_en.html
│ └── welcome_zh.html
├── ch14
│ ├── buy.html
│ ├── META-INF
│ │ └── context.xml
│ ├── search.html
│ ├── src
│ │ ├── CreateAccountServlet.java
│ │ ├── CreateDBServlet.java
│ │ ├── GetDBInfoServlet2.java
│ │ ├── GetDBInfoServlet.java
│ │ ├── ListServlet.java
│ │ └── TradeServlet.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch14
│ │ └── servlet
│ │ ├── CreateAccountServlet.class
│ │ ├── CreateDBServlet.class
│ │ ├── GetDBInfoServlet2.class
│ │ ├── GetDBInfoServlet.class
│ │ ├── ListServlet.class
│ │ └── TradeServlet.class
│ ├── lib
│ │ └── mysql-connector-java-5.1.18-bin.jar
│ └── web.xml
├── ch15
│ ├── src
│ │ ├── GreetServlet2.java
│ │ ├── GreetServlet.java
│ │ ├── LoginChkServlet.java
│ │ ├── LoginServlet2.java
│ │ ├── LoginServlet.java
│ │ ├── LogoutServlet2.java
│ │ ├── LogoutServlet.java
│ │ └── OutputSessionInfo.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch15
│ │ ├── servlet
│ │ │ ├── GreetServlet2.class
│ │ │ ├── GreetServlet.class
│ │ │ ├── LoginChkServlet.class
│ │ │ ├── LoginServlet2.class
│ │ │ ├── LoginServlet.class
│ │ │ ├── LogoutServlet2.class
│ │ │ └── LogoutServlet.class
│ │ └── util
│ │ └── OutputSessionInfo.class
│ ├── lib
│ └── web.xml
├── ch16
│ ├── FileNotFound.html
│ ├── src
│ │ ├── DBExceptionServlet.java
│ │ ├── ExceptionHandlerServlet2.java
│ │ ├── ExceptionHandlerServlet.java
│ │ ├── ExceptionServlet.java
│ │ ├── FileExceptionServlet.java
│ │ └── HttpErrorHandlerServlet.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch16
│ │ └── servlet
│ │ ├── DBExceptionServlet.class
│ │ ├── ExceptionHandlerServlet2.class
│ │ ├── ExceptionHandlerServlet.class
│ │ ├── ExceptionServlet.class
│ │ ├── FileExceptionServlet.class
│ │ └── HttpErrorHandlerServlet.class
│ ├── lib
│ │ └── mysql-connector-java-5.1.18-bin.jar
│ └── web.xml
├── ch17
│ └── src
│ ├── DBServlet.java
│ ├── TestServlet2.java
│ ├── TestServlet3.java
│ ├── TestServlet.java
│ ├── WelcomeServlet2.java
│ ├── WelcomeServlet3.java
│ └── WelcomeServlet.java
├── ch18
│ ├── date.jsp
│ ├── excep.jsp
│ ├── forward.jsp
│ ├── greeting.jsp
│ ├── gst
│ │ ├── admin
│ │ │ ├── admin_check.jsp
│ │ │ ├── admin_del.jsp
│ │ │ ├── admin_index.jsp
│ │ │ └── admin_login.html
│ │ ├── guestbook.sql
│ │ ├── index.jsp
│ │ ├── process.jsp
│ │ ├── say.html
│ │ └── util.jsp
│ ├── plugin.jsp
│ └── price.jsp
├── ch19
│ ├── bookstore
│ │ ├── additem.jsp
│ │ ├── bookinfo.jsp
│ │ ├── catalog.jsp
│ │ ├── common.jsp
│ │ ├── delitem.jsp
│ │ ├── error.jsp
│ │ ├── index.jsp
│ │ ├── search.jsp
│ │ └── showcart.jsp
│ ├── META-INF
│ │ └── context.xml
│ ├── reg.html
│ ├── reg.jsp
│ ├── src
│ │ ├── bookstore
│ │ │ ├── BookBean.java
│ │ │ ├── BookDBBean.java
│ │ │ ├── CartBean.java
│ │ │ └── CartItemBean.java
│ │ └── UserBean.java
│ ├── userinfo.jsp
│ └── WEB-INF
│ └── classes
│ └── org
│ └── sunxin
│ └── ch19
│ ├── beans
│ │ └── UserBean.class
│ └── bookstore
│ ├── BookBean.class
│ ├── BookDBBean.class
│ ├── CartBean.class
│ └── CartItemBean.class
├── ch20
│ ├── model1
│ │ ├── loginchk.jsp
│ │ ├── login.jsp
│ │ └── welcome.jsp
│ ├── src
│ │ ├── model1
│ │ │ ├── UserBean.java
│ │ │ └── UserCheckBean.java
│ │ └── model2
│ │ ├── ControllerServlet.java
│ │ ├── UserBean.java
│ │ └── UserCheckBean.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch20
│ │ ├── model1
│ │ │ └── beans
│ │ │ ├── UserBean.class
│ │ │ └── UserCheckBean.class
│ │ └── model2
│ │ ├── beans
│ │ │ ├── UserBean.class
│ │ │ └── UserCheckBean.class
│ │ └── servlet
│ │ └── ControllerServlet.class
│ ├── pages
│ │ ├── login2.jsp
│ │ ├── loginerr.jsp
│ │ └── welcome.jsp
│ └── web.xml
├── ch21
│ ├── greet.jsp
│ ├── hello.jsp
│ ├── iterate.jsp
│ ├── max_ex.jsp
│ ├── max.jsp
│ ├── src
│ │ ├── CaseTag.java
│ │ ├── DefaultTag.java
│ │ ├── GreetTag.java
│ │ ├── HelloTag.java
│ │ ├── IterateTagExtraInfo.java
│ │ ├── IterateTag.java
│ │ ├── MaxExSimpleTag.java
│ │ ├── MaxTag.java
│ │ ├── SwitchTag.java
│ │ ├── UserBean.java
│ │ └── WelcomeSimpleTag.java
│ ├── switch.jsp
│ ├── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── ch21
│ │ │ ├── beans
│ │ │ │ └── UserBean.class
│ │ │ └── tags
│ │ │ ├── CaseTag.class
│ │ │ ├── DefaultTag.class
│ │ │ ├── GreetTag.class
│ │ │ ├── HelloTag.class
│ │ │ ├── IterateTag.class
│ │ │ ├── IterateTagExtraInfo.class
│ │ │ ├── MaxExSimpleTag.class
│ │ │ ├── MaxTag.class
│ │ │ ├── SwitchTag.class
│ │ │ └── WelcomeSimpleTag.class
│ │ ├── tlds
│ │ │ └── MyTaglib.tld
│ │ └── web.xml
│ └── welcome.jsp
├── ch22
│ ├── src
│ │ └── MyFuncs.java
│ ├── test.jsp
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch22
│ │ └── MyFuncs.class
│ └── tlds
│ └── myfuncs.tld
├── ch24
│ ├── hello.jsp
│ ├── tohtml.jsp
│ ├── WEB-INF
│ │ ├── classes
│ │ └── tags
│ │ ├── hello.tag
│ │ ├── toHtml.tag
│ │ └── welcome.tag
│ └── welcome.jsp
├── ch25
│ ├── online
│ │ └── login.html
│ ├── src
│ │ ├── MyServletContextListener.java
│ │ └── online
│ │ ├── LogoutServlet.java
│ │ ├── OnlineUserServlet.java
│ │ ├── User.java
│ │ └── UserList.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch25
│ │ ├── listener
│ │ │ └── MyServletContextListener.class
│ │ └── online
│ │ ├── LogoutServlet.class
│ │ ├── OnlineUserServlet.class
│ │ ├── User.class
│ │ └── UserList.class
│ └── web.xml
├── ch26
│ ├── home.jsp
│ ├── index.jsp
│ ├── logon.jsp
│ ├── process.jsp
│ ├── say.html
│ ├── src
│ │ ├── ByteArrayServletOutputStream.java
│ │ ├── CompressionFilter.java
│ │ ├── CompressionResponseWrapper.java
│ │ ├── GuestbookFilter.java
│ │ ├── GZIPServletOutputStream.java
│ │ ├── LogonFilter.java
│ │ ├── MyRequestWrapper.java
│ │ ├── MyResponseWrapper.java
│ │ └── SimpleFilter.java
│ ├── test.jsp
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch26
│ │ └── filter
│ │ ├── ByteArrayServletOutputStream.class
│ │ ├── CompressionFilter.class
│ │ ├── CompressionResponseWrapper.class
│ │ ├── GuestbookFilter.class
│ │ ├── GZIPServletOutputStream.class
│ │ ├── LogonFilter.class
│ │ ├── MyRequestWrapper.class
│ │ ├── MyResponseWrapper.class
│ │ └── SimpleFilter.class
│ ├── web.xml
│ └── word.txt
├── ch27
│ ├── form.jsp
│ ├── index.html
│ ├── src
│ │ ├── SetCharacterEncodingFilter.java
│ │ ├── SetLocaleFilter.java
│ │ └── TestServlet.java
│ ├── test.jsp
│ └── WEB-INF
│ ├── classes
│ │ ├── MyResource_en.properties
│ │ ├── MyResource.properties
│ │ ├── MyResource_zh_CN.properties
│ │ └── org
│ │ └── sunxin
│ │ └── ch27
│ │ ├── filter
│ │ │ ├── SetCharacterEncodingFilter.class
│ │ │ └── SetLocaleFilter.class
│ │ └── servlet
│ │ └── TestServlet.class
│ └── web.xml
├── ch28
│ ├── error.html
│ ├── index.html
│ ├── index.jsp
│ ├── login.html
│ ├── security.jsp
│ ├── sql
│ │ └── users.sql
│ ├── test.html
│ └── WEB-INF
│ ├── classes
│ └── web.xml
├── ch29
│ ├── build
│ ├── src
│ │ └── org
│ │ └── sunxin
│ │ └── ch29
│ │ └── servlet
│ │ ├── DonwloadServlet.java
│ │ └── ImageHandlerServlet.java
│ └── WebContent
│ ├── index.jsp
│ ├── META-INF
│ │ ├── context.xml
│ │ └── MANIFEST.MF
│ ├── upload2.jsp
│ ├── upload.html
│ ├── upload.jsp
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch29
│ │ └── servlet
│ │ ├── DonwloadServlet.class
│ │ └── ImageHandlerServlet.class
│ ├── lib
│ │ ├── commons-fileupload-1.2.2.jar
│ │ └── commons-io-2.1.jar
│ └── web.xml
├── ch30
│ ├── src
│ │ └── org
│ │ └── sunxin
│ │ └── ch30
│ │ ├── servlet
│ │ │ ├── HandlerServlet.java
│ │ │ ├── ImageHandlerServlet.java
│ │ │ ├── LoginCheckServlet.java
│ │ │ └── RandomCodeServlet.java
│ │ └── util
│ │ ├── PicZoom.java
│ │ └── TokenProcessor.java
│ └── WebContent
│ ├── image.html
│ ├── images
│ │ └── 1.jpg
│ ├── index.jsp
│ ├── login.html
│ ├── META-INF
│ │ └── MANIFEST.MF
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch30
│ │ ├── servlet
│ │ │ ├── HandlerServlet.class
│ │ │ ├── ImageHandlerServlet.class
│ │ │ ├── LoginCheckServlet.class
│ │ │ └── RandomCodeServlet.class
│ │ └── util
│ │ ├── PicZoom.class
│ │ └── TokenProcessor.class
│ ├── lib
│ └── web.xml
├── ch31
│ ├── src
│ │ ├── DBExceptionServlet.java
│ │ ├── Hello.java
│ │ ├── hello.lcf
│ │ ├── Hello(例31-2).java
│ │ ├── Log4jInit.java
│ │ └── logs.sql
│ └── WEB-INF
│ ├── ch31.html
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch31
│ │ └── servlet
│ │ ├── DBExceptionServlet.class
│ │ └── Log4jInit.class
│ ├── jdbc.properties
│ ├── lib
│ │ ├── log4j-1.2.9.jar
│ │ └── sqljdbc.jar
│ ├── log4j.properties
│ ├── log4j.xml
│ └── web.xml
├── ch32
│ ├── build
│ │ ├── 201201221158.war
│ │ ├── 201201221234.war
│ │ ├── 201201221316.war
│ │ ├── 201201221321.war
│ │ ├── 201201221322.war
│ │ ├── 201201221324.war
│ │ ├── 201201221325.war
│ │ ├── 201201221335.war
│ │ ├── 201201221339.war
│ │ ├── 201201221357.war
│ │ ├── 201201221448.war
│ │ ├── 201201221449.war
│ │ ├── 201201221450.war
│ │ ├── 201201221459.war
│ │ ├── 201201221513.war
│ │ ├── image.html
│ │ ├── images
│ │ │ └── 1.jpg
│ │ ├── index.jsp
│ │ ├── login.html
│ │ ├── src
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── ch30
│ │ │ ├── servlet
│ │ │ │ ├── HandlerServlet.java
│ │ │ │ ├── ImageHandlerServlet.java
│ │ │ │ ├── LoginCheckServlet.java
│ │ │ │ └── RandomCodeServlet.java
│ │ │ └── util
│ │ │ ├── PicZoom.java
│ │ │ └── TokenProcessor.java
│ │ └── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── ch30
│ │ │ ├── servlet
│ │ │ │ ├── HandlerServlet.class
│ │ │ │ ├── ImageHandlerServlet.class
│ │ │ │ ├── LoginCheckServlet.class
│ │ │ │ └── RandomCodeServlet.class
│ │ │ └── util
│ │ │ ├── PicZoom.class
│ │ │ └── TokenProcessor.class
│ │ └── web.xml
│ ├── build.xml
│ ├── src
│ │ └── org
│ │ └── sunxin
│ │ └── ch30
│ │ ├── servlet
│ │ │ ├── HandlerServlet.java
│ │ │ ├── ImageHandlerServlet.java
│ │ │ ├── LoginCheckServlet.java
│ │ │ └── RandomCodeServlet.java
│ │ └── util
│ │ ├── PicZoom.java
│ │ └── TokenProcessor.java
│ ├── test
│ │ ├── build.xml
│ │ ├── error.txt
│ │ ├── mypackage
│ │ │ └── Test.class
│ │ ├── out.txt
│ │ └── Test.java
│ ├── WebContent
│ │ ├── image.html
│ │ ├── images
│ │ │ └── 1.jpg
│ │ ├── index.jsp
│ │ ├── login.html
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── ch30
│ │ │ ├── servlet
│ │ │ │ ├── HandlerServlet.class
│ │ │ │ ├── ImageHandlerServlet.class
│ │ │ │ ├── LoginCheckServlet.class
│ │ │ │ └── RandomCodeServlet.class
│ │ │ └── util
│ │ │ ├── PicZoom.class
│ │ │ └── TokenProcessor.class
│ │ ├── lib
│ │ └── web.xml
│ └── 例32-1(build).xml
├── ch33
│ ├── initializer
│ │ ├── initializer.jar
│ │ ├── META-INF
│ │ │ └── services
│ │ │ └── javax.servlet.ServletContainerInitializer
│ │ └── org
│ │ └── sunxin
│ │ └── ch33
│ │ └── initializer
│ │ └── MyServletContainerInitializer.class
│ ├── module1
│ │ ├── META-INF
│ │ │ └── web-fragment.xml
│ │ ├── module1.jar
│ │ └── org
│ │ └── sunxin
│ │ └── ch33
│ │ └── listener
│ │ └── Module1ContextListener.class
│ ├── module2
│ │ ├── META-INF
│ │ │ └── web-fragment.xml
│ │ ├── module2.jar
│ │ └── org
│ │ └── sunxin
│ │ └── ch33
│ │ └── listener
│ │ └── Module2ContextListener.class
│ ├── src
│ │ └── org
│ │ └── sunxin
│ │ └── ch33
│ │ ├── initializer
│ │ │ └── MyServletContainerInitializer.java
│ │ ├── listener
│ │ │ ├── Module1ContextListener.java
│ │ │ ├── Module2ContextListener.java
│ │ │ └── MyServletContextListener.java
│ │ └── servlet
│ │ ├── FibonacciServlet.java
│ │ └── UploadServlet.java
│ └── WebContent
│ ├── fibonacci.html
│ ├── META-INF
│ │ └── MANIFEST.MF
│ ├── upload.html
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── ch33
│ │ ├── initializer
│ │ │ └── MyServletContainerInitializer.class
│ │ ├── listener
│ │ │ ├── Module1ContextListener.class
│ │ │ ├── Module2ContextListener.class
│ │ │ └── MyServletContextListener.class
│ │ └── servlet
│ │ ├── FibonacciServlet$1.class
│ │ ├── FibonacciServlet$FibonacciTask.class
│ │ ├── FibonacciServlet.class
│ │ └── UploadServlet.class
│ └── lib
└── ch34
├── gst
│ ├── META-INF
│ │ └── context.xml
│ ├── src
│ │ └── org
│ │ └── sunxin
│ │ └── guestbook
│ │ ├── beans
│ │ │ ├── GuestbookDB.java
│ │ │ ├── Message.java
│ │ │ ├── User.java
│ │ │ └── User.jbx
│ │ ├── controller
│ │ │ ├── AdminDeleteMessageProcessor.java
│ │ │ ├── AdminDisplayMessageProcessor.java
│ │ │ ├── AdminLogonProcessor.java
│ │ │ ├── ControllerServlet.java
│ │ │ ├── DisplayMessageProcessor.java
│ │ │ ├── ErrorProcessor.java
│ │ │ ├── LogonProcessor.java
│ │ │ ├── Processor.java
│ │ │ ├── RegisterProcessor.java
│ │ │ ├── SayMessageProcessor.java
│ │ │ └── SuccessProcessor.java
│ │ ├── GuestbookException.java
│ │ ├── parser
│ │ │ └── RegisterPageParser.java
│ │ ├── UserException.java
│ │ ├── util
│ │ │ ├── CharacterConvert.java
│ │ │ └── Sax2Xml.java
│ │ └── view
│ │ └── XsltServlet.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── guestbook
│ │ ├── beans
│ │ │ ├── GuestbookDB.class
│ │ │ ├── Message.class
│ │ │ ├── User.class
│ │ │ └── User.jbx
│ │ ├── controller
│ │ │ ├── AdminDeleteMessageProcessor.class
│ │ │ ├── AdminDisplayMessageProcessor.class
│ │ │ ├── AdminLogonProcessor.class
│ │ │ ├── ControllerServlet.class
│ │ │ ├── DisplayMessageProcessor.class
│ │ │ ├── ErrorProcessor.class
│ │ │ ├── LogonProcessor.class
│ │ │ ├── Processor.class
│ │ │ ├── RegisterProcessor.class
│ │ │ ├── SayMessageProcessor.class
│ │ │ └── SuccessProcessor.class
│ │ ├── GuestbookException.class
│ │ ├── parser
│ │ │ └── RegisterPageParser.class
│ │ ├── UserException.class
│ │ ├── util
│ │ │ ├── CharacterConvert.class
│ │ │ └── Sax2Xml.class
│ │ └── view
│ │ └── XsltServlet.class
│ ├── guestbook-config.xml
│ ├── lib
│ │ ├── dom4j-1.6.1.jar
│ │ └── jaxen-1.1-beta-6.jar
│ ├── web.xml
│ ├── xml
│ │ ├── footer.xml
│ │ ├── header.xml
│ │ └── style.xml
│ └── xslt
│ └── page.xsl
└── guestbook.sql
285 directories, 590 files
评论